package com.wicket.okrcalc.web.contorller;
import cn.hutool.core.bean.BeanUtil;
import com.wicket.okrcalc.biz.service.dto.req.*;
import com.wicket.okrcalc.biz.service.dto.res.*;
import com.github.pagehelper.Page;
import com.github.pagehelper.page.PageMethod;
import com.wicket.okrcalc.biz.service.SystemTestDomainService;
import com.wicket.okrcalc.common.util.CommonFunctionHelper;
import com.wicket.okrcalc.common.ro.OkrResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@RestController
@RequestMapping("/calc/systemTestDomain/")
public class SystemTestDomainController {
    @Autowired
    SystemTestDomainService  systemTestDomainService;
/**
   * D4-构造单条被评对象目标周期标准数据验证数据(公共)
   */
    @PostMapping("buildSingleEvaObjTarCycStaDataCom")
    public OkrResult<BuildSingleEvaObjTarCycStaDataComRespDto> buildSingleEvaObjTarCycStaDataCom(@RequestBody @Validated BuildSingleEvaObjTarCycStaDataComReqDto reqDTO){
    return OkrResult.success(systemTestDomainService.buildSingleEvaObjTarCycStaDataCom(reqDTO));
    }
/**
   * D4-构造多条被评对象目标周期标准数据验证数据(公共)
   */
    @PostMapping("buildMultiEvaObjTarCycStaDataCom")
    public OkrResult<BuildMultiEvaObjTarCycStaDataComRespDto> buildMultiEvaObjTarCycStaDataCom(@RequestBody @Validated BuildMultiEvaObjTarCycStaDataComReqDto reqDTO){
    return OkrResult.success(systemTestDomainService.buildMultiEvaObjTarCycStaDataCom(reqDTO));
    }
/**
   * D4-删除单条被评对象目标周期标准数据(公共)
   */
    @PostMapping("deleteSingleEvaObjTarCycStaDataCom")
    public OkrResult<DeleteSingleEvaObjTarCycStaDataComRespDto> deleteSingleEvaObjTarCycStaDataCom(@RequestBody @Validated DeleteSingleEvaObjTarCycStaDataComReqDto reqDTO){
    return OkrResult.success(systemTestDomainService.deleteSingleEvaObjTarCycStaDataCom(reqDTO));
    }
/**
   * D4-批量删多条被评对象目标周期标准数据(公共)
   */
    @PostMapping("batchDeleteMultiEvaObjTarCycStaDataCom")
    public OkrResult<BatchDeleteMultiEvaObjTarCycStaDataComRespDto> batchDeleteMultiEvaObjTarCycStaDataCom(@RequestBody @Validated BatchDeleteMultiEvaObjTarCycStaDataComReqDto reqDTO){
    return OkrResult.success(systemTestDomainService.batchDeleteMultiEvaObjTarCycStaDataCom(reqDTO));
    }
/**
   * D4-1-01一键删除多条被评对象目标周期标准数据验证数据(公共)
   */
    @PostMapping("autoDeleteMultiEvaObjTarCycStaDataCom")
    public OkrResult<AutoDeleteMultiEvaObjTarCycStaDataComRespDto> autoDeleteMultiEvaObjTarCycStaDataCom(@RequestBody @Validated AutoDeleteMultiEvaObjTarCycStaDataComReqDto reqDTO){
    return OkrResult.success(systemTestDomainService.autoDeleteMultiEvaObjTarCycStaDataCom(reqDTO));
    }
/**
   * D4-1-01修改单条被评对象目标周期标准数据
   */
    @PostMapping("updateSingleEvaObjTarCycStaData")
    public OkrResult<UpdateSingleEvaObjTarCycStaDataRespDto> updateSingleEvaObjTarCycStaData(@RequestBody @Validated UpdateSingleEvaObjTarCycStaDataReqDto reqDTO){
    return OkrResult.success(systemTestDomainService.updateSingleEvaObjTarCycStaData(reqDTO));
    }
/**
   * D4执行刷模板标准数据（运维）
   */
    @PostMapping("implementBrushTempStandardData")
    public OkrResult<ImplementBrushTempStandardDataRespDto> implementBrushTempStandardData(@RequestBody @Validated ImplementBrushTempStandardDataReqDto reqDTO){
    return OkrResult.success(systemTestDomainService.implementBrushTempStandardData(reqDTO));
    }
/**
   * D4执行修复已产生的标准数据(公共)
   */
    @PostMapping("implementRepairTheGeneratedStandardDataCom")
    public OkrResult<ImplementRepairTheGeneratedStandardDataComRespDto> implementRepairTheGeneratedStandardDataCom(@RequestBody @Validated ImplementRepairTheGeneratedStandardDataComReqDto reqDTO){
    return OkrResult.success(systemTestDomainService.implementRepairTheGeneratedStandardDataCom(reqDTO));
    }
/**
   * D4分析修复标准数据上一周期相关数据(公共)
   */
    @PostMapping("analysisRepairStandardPreDataCom")
    public OkrResult<AnalysisRepairStandardPreDataComRespDto> analysisRepairStandardPreDataCom(@RequestBody @Validated AnalysisRepairStandardPreDataComReqDto reqDTO){
    return OkrResult.success(systemTestDomainService.analysisRepairStandardPreDataCom(reqDTO));
    }
/**
   * D4执行修复标准数据(公共)
   */
    @PostMapping("implementRepairStandardDataCom")
    public OkrResult<ImplementRepairStandardDataComRespDto> implementRepairStandardDataCom(@RequestBody @Validated ImplementRepairStandardDataComReqDto reqDTO){
    return OkrResult.success(systemTestDomainService.implementRepairStandardDataCom(reqDTO));
    }
/**
   * D4查询修复标准数据列表(公共)
   */
    @PostMapping("queryRepairStandardDataListCom")
    public OkrResult<QueryRepairStandardDataListComRespDto> queryRepairStandardDataListCom(@RequestBody @Validated QueryRepairStandardDataListComReqDto reqDTO){
    return OkrResult.success(systemTestDomainService.queryRepairStandardDataListCom(reqDTO));
    }
/**
   * D4分析修复标准数据填报责任人对象ID(公共)
   */
    @PostMapping("analysisRepairStandardPersonLiableObjIdCom")
    public OkrResult<AnalysisRepairStandardPersonLiableObjIdComRespDto> analysisRepairStandardPersonLiableObjIdCom(@RequestBody @Validated AnalysisRepairStandardPersonLiableObjIdComReqDto reqDTO){
    return OkrResult.success(systemTestDomainService.analysisRepairStandardPersonLiableObjIdCom(reqDTO));
    }
/**
   * D4执行修复周期阶段资料对应标准数据时间切片(运维接口)
   */
    @PostMapping("implementRepairCycleStageDataCorrespondingStandardDataTimeSliceCom")
    public OkrResult<ImplementRepairCycleStageDataCorrespondingStandardDataTimeSliceComRespDto> implementRepairCycleStageDataCorrespondingStandardDataTimeSliceCom(@RequestBody @Validated ImplementRepairCycleStageDataCorrespondingStandardDataTimeSliceComReqDto reqDTO){
    return OkrResult.success(systemTestDomainService.implementRepairCycleStageDataCorrespondingStandardDataTimeSliceCom(reqDTO));
    }
/**
   * D4执行检测进度型指标标准数据合规性（运维接口）
   */
    @PostMapping("implementInspectProgressObjectiveDataComplianceCom")
    public OkrResult<ImplementInspectProgressObjectiveDataComplianceComRespDto> implementInspectProgressObjectiveDataComplianceCom(@RequestBody @Validated ImplementInspectProgressObjectiveDataComplianceComReqDto reqDTO){
    return OkrResult.success(systemTestDomainService.implementInspectProgressObjectiveDataComplianceCom(reqDTO));
    }
/**
   * D4执行刷人工填报数据（运维-临时）
   */
    @PostMapping("implementBrushManualFullData")
    public OkrResult<ImplementBrushManualFullDataRespDto> implementBrushManualFullData(@RequestBody @Validated ImplementBrushManualFullDataReqDto reqDTO){
    return OkrResult.success(systemTestDomainService.implementBrushManualFullData(reqDTO));
    }
}
  